class Solution {
    public int wiggleMaxLength(int[] nums) {
       int len = nums .length ;
       int[] dp = new int[len] ; 
       int max = Integer.MIN_VALUE ; 
       for(int i=0 ; i < len ; i ++){
         dp[i] = 1 ;
         for(int j=i-1 ; j>= 1 ; j --){
            int a = nums[i]-nums[i-1] , b = nums[j]-nums[j-1]; 
            if(a > 0){
             if(b<0){
              dp[i] = Math.max(dp[i] , dp[j]);
             }
            }else{
               if(b>0){
                dp[i] = Math.max(dp[i],dp[j]);
               }
            }
         }
         if(i>=1 && nums[i]!=nums[i-1]){
            dp[i]+=1 ;
         }
         max = Math.max(dp[i] , max) ;
       }

         return max ;
    }
}